import numpy as np
from PIL import Image

import pandas as pd
pd.set_option('display.max_rows', None)  # 显示所有行
pd.set_option('display.max_columns', None)  # 显示所有列
pd.set_option('display.width', None)  # 自动换行以适应窗口宽度
pd.set_option('display.max_colwidth', None)  # 不限制列宽

# 加载一幅灰度图片
img = Image.open('./assets/catxx.png').convert('L')  # convert('L') 将图像转换为灰度模式

# 将图片转换为numpy数组
image_array = np.array(img)

# 此时的image_array是一个二维数组，其形状类似于(width, height)，例如(100, 100)
# 数组中的每个元素代表对应像素点的灰度值，通常介于0-255之间
print(image_array.shape)  # 输出：(100, 100)

# 取得某一点的灰度值
pixel_value = image_array[50][50]

print(image_array.view())

# 如果你想修改某个像素的灰度值，也可以直接操作数组
# image_array[50][50] = 128

# # 最后，如果你想将修改后的numpy数组重新保存为图像文件
# new_img = Image.fromarray(np.uint8(image_array))
# new_img.save('modified_gray_image.jpg')